home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Windows Expert
/
Windows Expert.iso
/
windownt
/
sossnt.zip
/
SOSSNT
/
SRC
/
NOVELL.H
< prev
next >
Wrap
C/C++ Source or Header
|
1993-02-27
|
3KB
|
133 lines
/*
* novell.h --
* Netware definitions for SOS.
*
* Author:
* Rich Braun @ Kronos, 2/15/91
*/
#pragma pack(1) /* Pack all data structures */
#define MAXNOVELLID 200
#define IDFILE "NOVELL.ID"
/* Novell-to-Unix UID mapping is accomplished by creating a text file */
/* containing entries in the following format: */
/* user username 123 432 */
/* offset 200 */
/* protection 775 */
/* group 20 */
/* The offset value is used if the sequence of user IDs on the Novell */
/* and the Unix systems is the same. This value is added to the */
/* Novell ID to get the Unix ID. */
/* The group number is returned for every file on the server. No */
/* support currently exists for directory trustee lookup. */
/* The protection field is used for all directories on the Novell */
/* file system; it is read as an octal integer. */
/* Each user-ID line has four fields. The last two fields are 32-bit */
/* decimal integers; field 3 is the Unix ID number, and field 4 is */
/* the Novell object number corresponding to the given user. */
/* If a file's owner ID is not given in this file, the Novell user-ID */
/* number will be passed directly to Unix without any mapping. */
/* Macro for invoking the Novell API */
#define novell_API(FCN, ARGS, RESULTS, REGSIN, REGSOUT, SEGREGS) \
REGSIN.h.ah = FCN; \
REGSIN.x.si = (u_short) ARGS; \
REGSIN.x.di = (u_short) RESULTS; \
intdosx (®SIN, REGSOUT, SEGREGS);
/* system call definitions */
/* Scan File Information E3(0F) */
struct _sfireq {
u_short len;
u_char func;
u_short seq;
char handle;
u_char attrib;
u_char pathlen;
char path[MAXPATHNAMELEN];
};
struct _fileinfo {
u_char attrib;
u_char xattrib;
u_long size;
u_short cdate;
u_short adate;
u_long utime;
u_long ownerID;
u_long atime;
char res[56];
};
struct _sfirep {
u_short len;
u_short seq;
char filename[14];
struct _fileinfo info;
};
/* Set File Information E3(10) */
struct _setfireq {
u_short len;
u_char func;
struct _fileinfo info;
u_char handle;
u_char search;
u_char pathlen;
u_char path[MAXPATHNAMELEN];
};
struct _setfirep {
u_short len;
};
/* Scan Directory for Trustees E2(0C) */
struct _sdftreq {
u_short len;
u_char func;
u_char handle;
u_char seq;
u_char pathlen;
char path[MAXPATHNAMELEN];
};
struct _sdftrep {
u_short len;
char name [16];
u_long ctime;
u_long ownerID;
u_long trustee [5];
u_char rights [5];
};
/* Scan Directory Information E2(02) */
struct _sdireq {
u_short len;
u_char func;
u_char handle;
u_short seq;
u_char pathlen;
char path[MAXPATHNAMELEN];
};
struct _sdirep {
u_short len;
char name [16];
u_long ctime;
u_long ownerID;
u_char rights;
u_char res;
u_short dirnum;
};
#pragma pack()